home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 2.iso
/
STUTTGART
/
COMM
/
INTERNET
/
MAIL
/
TRANSPORTS
/
TCP_IP
/
Docs
/
ReadMe
< prev
next >
Wrap
Text File
|
1995-11-23
|
11KB
|
232 lines
Ant's NewsBase transport for Acorn TCP/IP
=========================================
Documentation Changes
------------- -------
1) I've changed the documentation on '*startup' as well as the comments in the file itself,
to reflect what seems to be a recurring problem people have had setting up e-mail. If all
your mail goes to 'postmaster', then you need to read it!
2) Added some comments about !Groups.
3) Added a note about NewsBase 0.54n .
4) Mentioned some future directions.
5) Added a paragraph on the 'detect' error.
Intro
=====
This directory provides all the files needed to provide an NNTP and mail transport for
NewsBase using Acorn's TCP/IP protocol suite wherever possible.
Retrieval and posting of Usenet news and posting of e-mail messages is done via a socket
connection to an appropriate server, just like on real computers. :)
Retrieval of e-mail is necessarily file based, partly because this was the most convenient
method for me, but mostly out of sheer idleness. However, read on.
Where I work, I fetch mail from a UNIX box via NFS, but this probably won't be a suitable
method for you. Can I therefore recommend smtpd, an SMTP mail fetching module? You can use
smtpd in conjunction with TCPIPtransport, for maximum news and mail happiness.
Setting it all up
=================
Firstly, set up NewsBase and an appropriate client (such as TTFN) so that they will work
together.
I ought to point out at this stage that this transport is intended for versions
of NewsBase from 0.54m onwards. Behaviour with versions prior to this is not guaranteed.
While we're on the subject of versions, you'll also need version 4.02 of the Internet
module or later, although since the BSD socket interface is pretty much carved in stone, you
ought to be able to get away with earlier versions.
Research has been conducted into whether this transport will work with FreeNet. Apparently,
it does.
Clearly, you'll also need some kind of reliable connection to an internet host which likes
you, (ie lets you send/receive news and e-mail) otherwise you're wasting your time.
You can specify different hosts for mail and news, if you want to.
For the record, this TCP/IP transport expects to be able to find the services 'smtp' and
'nntp', and it'll want to connect to them using tcp. udp is a big no no.
Once you've got NewsBase working, copy the TCP/IP directory (the one with the transport
stuff in) into NewsBase's Transports directory (which you'll find inside the NewsBase
application.)
Avoiding the dreaded 'detect' error
-----------------------------------
At this point you need to edit NewsBase's !Run file. Just before the line:
run <NewsBase$dir>.!RunImage %*0
you need to insert the line:
run <NewsBase$Dir>.Transports.TCP/IP.startup
this ensures that the TCPIPtransport module is loaded before NewsBase is run. Otherwise,
NewsBase will complain with the error 'detect not found', because the detect command is in
the TCPIPtransport module, and if NewsBase can't 'detect' the transport, it doesn't get
loaded, and so on.
Now then, inside this directory there are two files you can edit, namely "!Startup" and
"params". Caveat Editor, however - the slightest slip in one of these files and you'll
have a sullen and unwilling newsreader on your hands!
!StartUp
========
Being a helpful sort of person, I've included a lot of comments in this file, and as a bonus
each variable employed in it has a conveniently descriptive name. Therefore, I shall only
make a couple of observations.
Firstly, don't edit the variables which the files says not to edit.
The variable 'TCPIPTransport$MailUser' is the name of a temporary file within which the
TCP/IP transport stores your batched e-mail, until NewsBase has a chance to look at it. I've
pointed out that setting this variable to 'news' would be a bad idea, as 'news' is the root
of the filenames used to store batched news articles.
NB: the name you choose for this file is important - it's the user name which NewsBase will attempt
to deliver the mail to. So for example, if your NewsBase username is 'chris' you need to set this
variable to 'chris' also. If for example your NewsBase username was the more formal 'jbloggs', but
you set TCPIPTransport$MailUser to 'joe' NewsBase will be confused, and it'll divert any mail it
finds to the postmaster account. If you examine the NewsBase log and find lines like 'user joe
not found, redirecting to postmaster' then you're probably suffering from this kind of prblem.
The variable 'TCPIPTransport$DomainName' should be something which is meaningful outside your
local network, ie something with significance to the internet in general. Typically, this will
be related to the name you have given for TCPIPTransport$MailHost.
The variable 'TCPIPTransport$MailFile' points to a file wherein the TCP/IP transport expects to
find your incoming mail. Note that this is not a batch file, but your bog standard UNIX mailbox.
Note that it is possible to get NewsBase to read you Intray directly by fiddling with the params
file. However, I have provided this extra layer because my UNIX box gets very excited if my mail
file is deleted, which is what NewsBase does when it has finished reading it. Therefore, the
TCP/IP transport reads and empties the specified file, but doesn't delete it - it just sets its
size to zero.
If you don't want to use this, then just set this variable to something bogus.
The variable 'TCPIPTransport$MailHost' must contain the hostname (as known to your machine) of a
friendly computer with an SMTP server, ie one which will allow you to post e-mail.
Similarly, 'TCPIPTransport$NewsHost' should contain the name of a computer which is prepared to
let you rifle through it's horde of news, and to post acrimoniously in its name.
And that, my friends, is that. Onward then, to ...
"params"
========
Very little needs changing in this file - in fact there is only one thing you can usefully change
without destroying the delicate balance upon which this transport is based. See that line:
getnews 0 getnews -t 1 -l 100
Those numbers are the bits you can change if you want. The number after '-t' represents
the period in hours between news debatches. I'd better explain.
When you click on the 'debatch' option in the NewsBase menu (or when it does it automatically, if you
have it so configured) NewsBase prods the selected transport into life to fetch news and e-mail.
The command 'getmail' fetches your email, and the command 'getnews' fetches your Usenet news.
Unfortunately, Newsbase often calls both of these, even if you only wanted one of them.
Now then, since you want to be able to retrieve e-mail as quickly as possible, but you don't want to
be debatching news every time (a long and involved process!), 'getnews' will examine the timeout value
you've given it, to see if it last debatched news within that time. If not, it'll go off and search out
some news. For example, if you have the timeout set to 1, and click on debatch, the program will debatch
both mail and news. Clicking on debatch again, say 15 minutes later, will cause the command to return
without doing anything, as the period you specified hasn't elapsed yet.
If you _do_ want 'getnews' to fetch new news every time it's called, you can use '-t 0' as the first
parameter.
The '-l' option governs what happens when you subscribe to a new group for the first time. The number
indicates how many of the most recent postings you want to receive when you first read the group.
This is to avoid the situation of your poor machine having to download 100,000 articles from the
server when you first subscribe to that seedy alt.*.binaries group - instead it'll just get the 100
(or whatever) most recent files.
At this point, all things being well, NewsBase should have sussed that there's a new kid on the block.
From the transport set up panel, you ought to be able to select and 'setup' the TCP/IP transport, as
you would any other.
If you click on the 'setup' icon in NewsBase's transport set up dialog, the TCP/IP transport will
attempt to create a default list of news groups, and run the 'Startup' file. Do not be alarmed.
Also, 'setup' will contact your specified NNTP server and download a complete list of available
newsgroups, which it will save to the file '<TCPIPTransport$SupportDir>.allgroups', which you may
want to refer to if you're using !Groups.
Which newsgroups do you want to read?
=====================================
Inside the TCP/IP transport directory, there's another directory called 'lib', and in that there's
a file called newsgroups, among others. 'Newsgroups' contains the list of newsgroups which the
TCP/IP transport will examine. Note that this is not the same thing as your list of subscribed to
groups - that is purely a function of the news reading client. This list represents the totality
of newsgroups which are available on the target machine - you may decide to subscribe to only a
handful of them.
Realistically though, if you're using NewsBase for a single-user set up, you might as well just stick
the groups you're interested in in this file, coz it'll save time during debatching. To minimize annoyance
to other users who might copy this transport of you though, please do not edit the file 'default_ng'.
This file is used to generate the 'newsgroups' file when the TCP/IP transport is first run.
Oh yes, I forgot to mention, the format of the newsgroups file is:
<newsgroup> <last article seen in that group>
The newsgroup must be a proper newsgroup title, ie a bunch of words with dots in, and the article number
must follow on the same line, separated by some white space. This number represents an NNTP article number,
if anyone's interested.
You can put comments in this file too, as long as you start 'em with a #.
What's this module then?
========================
Graham has thoughtfully made provision for all the transport programs to sit in a module, so that's what
I've done. Previously they were all separate apps, and took up about 150k between them, but the module
only takes up 30k, and theoretically is a bit quicker off the mark.
The module provides full help on itself, but basically it provides the commands addgroup, delgroup, detect,
getmail, getnews, listgroups, mkgroups, sethost, setremote, sendnews, and sendmail. All these have help info,
but I wouldn't recommend using them from the command line, except possibly 'listgroups' which has no
direct equivalent from within NewsBase (it's normally called during 'setup'.)
I've set it all up and it doesn't work.
=======================================
Are you using NewsBase 0.54n ? If so, it has a bug which prevents certain transports from working, and sadly
this affects TCPIPtransport. It's relatively easy to fix, but far be it from me to publish nasty hacks of
Graham's code. :) Get a newer version of NewsBase (not possible at time of writing) or contact Graham for
a fix. NewsBase 0.55pre10 also doesn't work out of the box with TCPIPtransport, and requires a few subtle
modifications.
Well, I think that's about it! Hope you enjoy it, and if you have any problems, e-mail Graham and I'm sure
he'll sort them out for you! :)
Ant.
26/6/95